<?php


class getMessage
{
    public function index()
    {
        $method = $_SERVER['REQUEST_METHOD']; //获取请求方式
        if ($method != "GET") { //判断不是post请求便走里面的代码
            return json_encode([ //返回json报错数据
                "code"    => 0, //前后端自定义的规则，后端给code前端认为是状态码，收到code=1前端认为正常，0则为报错
                "data"    => [],//返回数据信息
                "message" => '请使用get请求' //提示内容
            ], true);
        }

        if (!isset($_SERVER['HTTP_TOKEN'])) {
            return json_encode([ //返回json报错数据
                "code"    => 0, //前后端自定义的规则，后端给code前端认为是状态码，收到code=1前端认为正常，0则为报错
                "data"    => [],//返回数据信息
                "message" => '请登录' //提示内容
            ], true);
        }
        $token = $_SERVER['HTTP_TOKEN'];

        $redis = new Redis(); //实例化redis
        $redis->connect("127.0.0.1"); //连接redis
        $user_info = $redis->get($token); //获取redis信息(用户数据)
        //令牌拿不到用户信息的话说明登陆失效或者token无效
        if (empty($user_info)) {
            return json_encode([ //返回json报错数据
                "code"    => 0, //前后端自定义的规则，后端给code前端认为是状态码，收到code=1前端认为正常，0则为报错
                "data"    => [],//返回数据信息
                "message" => '登陆失效，请重新登陆' //提示内容
            ], true);
        }

        //获取请求参数，因为我们这里是要求get请求，所以$_GET就可以拿到了
        if (!isset($_GET['page']) || empty($_GET['page'])) { //empty判断是否为空 ||是或的意思
            return json_encode([ //返回json报错数据
                "code"    => 0, //前后端自定义的规则，后端给code前端认为是状态码，收到code=1前端认为正常，0则为报错
                "data"    => [],//返回数据信息
                "message" => '请输入当前页数' //提示内容
            ], true);
        }

        if (!isset($_GET['pageIndex']) || empty($_GET['pageIndex'])) { //empty判断是否为空 ||是或的意思
            return json_encode([ //返回json报错数据
                "code"    => 0, //前后端自定义的规则，后端给code前端认为是状态码，收到code=1前端认为正常，0则为报错
                "data"    => [],//返回数据信息
                "message" => '请输入分页规则' //提示内容
            ], true);
        }

        $page         = $_GET['page'];
        $pageIndex    = $_GET['pageIndex'];
        $mysql        = new PDO('mysql:host=192.168.1.68;dbname=test', 'root', '123456');//链接数据库
        $sql          = "select * from `message` where `status`=1 order by `create_time` desc limit " . ($page - 1) * $pageIndex . "," . $pageIndex; //查询语句语句
        $message_list = $mysql->query($sql)->fetchAll(); //执行查询
        $sql          = "select * from `message` where `status`=1"; //查询语句语句
        $total_count  = $mysql->query($sql)->rowCount(); //执行查询
        //处理数组里面的数据
        //这里我用新的变量去接收
        $new_message_list = [];
        foreach ($message_list as $key => $value) {
            $new_message_list[$key]["message_id"]  = $value['message_id'];
            $new_message_list[$key]["user_id"]     = $value['user_id'];
            $new_message_list[$key]["content"]     = $value['content'];
            $new_message_list[$key]["create_time"] = date("Y-m-d H:i:s", $value['create_time']); //时间戳转为字符串格式的时间
        }
        return json_encode([ //返回json
            "code"    => 1, //前后端自定义的规则，后端给code前端认为是状态码，收到code=1前端认为正常，0则为报错
            "data"    => ["message_list" => $new_message_list, "total_count" => $total_count],//返回数据信息
            "message" => '' //提示内容
        ], true);
    }
}

$getMessage = new getMessage();
echo $getMessage->index();